package com.easylinkin.linkappapi.positioning.entity;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @program: linkapp-group
 * @description: 设备定位追踪
 * @author: chenkaixuan
 * @create: 2021-06-24 14:55
 */
@Data
public class DeviceRealTimePosition {
    /**
     * 设备编号
     */
    private String deviceCode;
    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 0:离线; 1:在线 新增默认离线
     */
    private Integer onlineState;
    /**
     * 报文最后推送时间
     */
    private Date lastPushTime;

    /**
     * 设备状态,0:正常; 1:告警；新增默认：正常
     */
    private Integer status;


    /**
     * 经度
     */
    private Double longitude;
    private Double longitudeConvert;

    /***
     * 纬度
     */
    private Double latitude;
    private Double latitudeConvert;

    /***
     * 海拔高度 m
     */
    private Double altitude;

    /***
     * 速度 千米/时
     */
    private Double speed;

    /**
     * 方向  0-359，正北为 0，顺时针
     */
    private Integer direction;

    /***
     * 时间
     */
    @JSONField(name = "positioning_time")
    private String  positioningTime;

    /***
     * 总里程
     */
    @JSONField(name = "total_mileage")
    private Double totalMileage;

    /***
     * 设备名称
     */
    private String equipmentName;

    /***
     * 车辆状态 0-未定位，1-定位
     */
    @JSONField(name = "vehicle_state")
    private String vehicleState;

    /***
     * 欠压报警 0-正常 1-欠压报警
     */
    @JSONField(name = "undervoltage_alarm")
    private Integer undervoltageAlarm;

    /***
     * 掉电报警  0-正常 1-掉电报警
     */
    @JSONField(name = "power_failure_alarm")
    private Integer poweFailureAlarm;

    /**
     * 位移报警 0-正常 1-位移报警
     */
    @JSONField(name = "displacement_alarm")
    private Integer displacementAlarm;

    /***
     * 震动报警  0-正常 1-震动报警
     */
    @JSONField(name = "vibration_alarm")
    private Integer vibrationAarm;

    /***
     * 设备识别码
     */
    @JSONField(name = "IMEI")
    private String imei;

    /***
     * GPS定位 0-未使用，1-使用
     */
    private Integer gpsPositioning;

    /***
     * 地址
     */
    private String address;

    /**
     * 设备定位历史地址
     */
    private List<DevicePositionHistory> devicePositionHistoryList;
}
